The use of automated devices is widespread nowadays, and finds countless applications. For instance, robots perform very precise and delicate tasks in the construction of electronic devices, or in medicine and aviation. Robots are also used in uses which require motion, notably, for automatic warehouses, where goods are retrieved and stored by means of computer-actuated robots. Other applications include, e.g., fetching raw materials in the course of industrial manufacturing, and removing and packaging finished pieces. In everyday's life, attempts have also been made to exploit robots for lawn mowing and for vacuum cleaning.
The major drawback of mobile robots, which the art has so far been unable to overcome, is the fact that their movements are limited to well predefined paths, normally requiring that they move along rails, or that they be provided with expensive navigation signs, positioned within the area in which they move, which operate as "stations" which redefine the exact position of the robot, and from which the program may direct the robot to the next station. These intermediate signs are expensive, take up space, and are inconvenient to use, since they must be very precisely positioned and cannot be easily moved.
Another approach involves providing an area delimited by boundaries recognizable by the robot, and permitting the robot to effect a random walk therein, during which random walk it carries out its tasks. This approach entails severe drawbacks: first of all, when the robot moves within a predefined area by random walk, there is no way to ensure that the whole area will be covered by the tool which must operate thereon. As a result, even though the robot may operate for a long period of time, unworked areas may be left at the end of the operation. Secondly, if the area to be worked is irregular, or if it presents "islands", viz. areas which must not be worked, the random walk may lead to imperfect operation around such islands, as well as at those locations where the perimeter is of irregular shape. Thirdly, because the operation of the robot is not programmed to obtain a predetermined coverage, it is necessary to allow the random walk to go on for a long period of time, so as to increase the chances of covering a major portion of the area to be worked. This is not only energy consuming, but also leads to an increased wear of the equipment, and may also be environmentally undesirable due, e.g., to noise or other pollution caused by the operation of the robot. Even if the robot is operated by sun energy, most of the aforesaid problems are not overcome, and additional problems exists, connected with such a mode of operation. For instance, the robot may not work properly in areas of the world where sun radiation is scarce or low, and may be inoperative for substantial parts of the day, e.g., on cloudy weather.
A further approach involves preprogramming the robot with a blueprint of its designated area of operation, such as a floor map of a building in which a robot is to operate. This approach has two major drawbacks:
a) it requires preprogramming by the user, which makes in unpractical for extensive consumer use; and PA1 b) it requires that such preprogramming is repeated each time something changes in the work area. PA1 providing a boundary along the perimeter of the working area, the said boundary being detectable by a proximity sensor; PA1 providing boundaries along the perimeter of each area enclosed in the working area, in which it is desired that the robot should not operate, the said boundaries also being detectable by a proximity sensor; PA1 providing a proximity sensor positioned on the robot; PA1 providing processing means connected to the said proximity sensor and receiving an input therefrom; PA1 providing location means on the said robot, to determine the coordinates of the robot relative to an arbitrary origin, at any specific time; PA1 providing direction finding means; PA1 providing memory means to store values generated by the said processing means and, optionally, by the said location means; PA1 causing the robot to move along each of the boundaries provided around or within the said working area, to detect the said boundaries and to memorize their shape, and to store in the memory means values representative of the coordinates of the said boundaries, relative to an arbitrary origin, thereby to generate a basic map of the working area; PA1 when the robot is to operate within the said area: PA1 a proximity sensor positioned on the robot; PA1 processing means connected to the said proximity sensor and receiving an input therefrom; PA1 location means, to determine the coordinates of the robot relative to an arbitrary origin, at any specific time; PA1 direction finding means; and PA1 memory means to store values generated by the said processing means and, optionally, by the said location means. PA1 boundary means suitable for positioning along the perimeter of the working area, and of each area enclosed in the working area, in which it is desired the robot not to operate, the said boundary means being detectable by a proximity sensor; PA1 a robot provided with a proximity sensor; PA1 processing means on said robot, connected to the said proximity sensor and receiving an input therefrom; PA1 distance-measuring means on the said robot, to measure the distance of the robot from a given starting point, at any specific time; PA1 direction finding means; PA1 memory means to store values generated by the said processing means and, optionally, by the said distance measuring means and/or direction finding means; and PA1 motion means, to cause the robot to move. PA1 providing a lawnmower with a robot and at least a plurality of lawn height sensors; PA1 cutting a first swath of lawn in a first direction; PA1 performing a maneuver, under control of the robot and in response to output of the lawn height sensors, in a second direction generally opposite of the first direction to bring said lawnmower to a location parallel to but overlapping the first swath by a predetermined percentage as indicated by the different output of the lawn height sensors; PA1 cutting a second swath of lawn parallel to the first swath while continually monitoring the lawn height output of said lawn height sensors thereby to ensure that the percentage of overlap is generally maintained; PA1 repeating the steps of performing a maneuver and cutting a second swath for further swaths of lawn, wherein the previously cut lawn is denoted by said first swath of lawn and the swath to be cut is denoted by the second swath of lawn. PA1 a housing; PA1 a rotatable wing against which grass can push, the wing having a pin attached thereto; PA1 a fixed second pin, connected to the housing; PA1 a spring attached around said pin, wherein the ends of the spring press against opposite sides of the wing and opposite sides of the fixed pin; and PA1 means for measuring the angle of rotation of the rotatable wing.
It is therefore clear that it would be highly desirable to be able to provide means by which automated mechanisms may move and perform their task within a predetermined area, without being hindered by the need for predefined paths and rails, or by intermediate navigation signs or preprogramming, and which may carry out their task in a predetermined manner, without relying on random occurrences and/or on unstable energy sources.